package com.meituan.sdk.model.wmoperNg.order.wmoperngQueryLogisticsStatus;

import com.meituan.sdk.annotations.ApiMeta;
import java.util.List;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 获取配送订单状态
* This file was automatically generated.
*/
@ApiMeta(
    path = "/wmoper/ng/order/logistics/status",
    businessId = 16,
    apiVersion = "10085",
    apiName = "wmoperng_query_logistics_status",
    needAuth = true
)
public class WmoperngQueryLogisticsStatusRequest implements MeituanRequest<List<DataSub>> {
    /**
    * <p data-diff-id="ct-diff-id-c5e38078-a130-43a1-8cda-9ea4a259644a">订单id</p>
    */
    @NotNull(message = "orderId不能为空")
    @SerializedName("orderId")
    private Long orderId;
    /**
    * <p data-diff-id="ct-diff-id-100a99ea-379d-4b85-add5-5ff62ac22a86">订单来源 0 无来源 1 美团 2 饿了么 3 百度 4 其他 5京东到家 6 青云自建订单 7歪马微商城，升级到支持非美团订单接口协议后必填</p>
    */
    @SerializedName("orderSource")
    private Integer orderSource;
    /**
    * <p data-diff-id="ct-diff-id-a2a3c7bf-94de-41a1-a68f-5eeb18ec4c1b">三方订单号</p>
    */
    @SerializedName("thirdOrderId")
    private String thirdOrderId;
    /**
    * <p data-diff-id="ct-diff-id-9737878c-44f5-45cf-8126-e2972221497e">门店授权token</p>
    */
    @SerializedName("psAuthorizeToken")
    private String psAuthorizeToken;

    public Long getOrderId() {
        return orderId;
    }
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }
    public Integer getOrderSource() {
        return orderSource;
    }
    public void setOrderSource(Integer orderSource) {
        this.orderSource = orderSource;
    }
    public String getThirdOrderId() {
        return thirdOrderId;
    }
    public void setThirdOrderId(String thirdOrderId) {
        this.thirdOrderId = thirdOrderId;
    }
    public String getPsAuthorizeToken() {
        return psAuthorizeToken;
    }
    public void setPsAuthorizeToken(String psAuthorizeToken) {
        this.psAuthorizeToken = psAuthorizeToken;
    }


    @Override
    public MeituanResponse<List<DataSub>> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<List<DataSub>>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "WmoperngQueryLogisticsStatusRequest{" + "orderId=" + orderId + "," + "orderSource=" + orderSource + "," + "thirdOrderId=" + thirdOrderId + "," + "psAuthorizeToken=" + psAuthorizeToken + "}";
    }
}
